// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

// 云函数入口函数
exports.main = async (event, context) => {
  // 1.小程序调用云端才有, 其他情况调用没有openid直接报错
  const openid = cloud.getWXContext().OPENID
  if (!(openid && openid === event.openid)) {
    return {
      errCode: 401,
      errorMsg: '未登录，没有权限！'
    }
  }

  // 2.校验客户端数据
  const db = cloud.database()
  let errCheck
  const {
    id
  } = event.data

  const conditionSQL = {
    openid,
    _id: id,
  }
  if (!id) {
    errCheck = "请传入删除Id！"
  }

  if (errCheck) {
    return {
      errorMsg: errCheck
    }
  }


  // 3.开始使用数据库语句
  const [err, success] = await awaitWrap(
    db.collection('menus').where(conditionSQL).remove()
  )

  if (success) {
    return {
      msg: 'success'
    }
  } else {
    return {
      errorMsg: err
    }
  }


}

// await错误处理公共方法
const awaitWrap = (promise) => {
  return promise
    .then(success => [null, success])
    .catch(err => [err, null])
}